/**
 *  Clase Token que almacenara
 * @author luisegg
 */
public class Token {
    String lexema;
    int tipo;
    int memoria;

    //Constructor
    public Token(String lexema, int tipo) {
		this.lexema = lexema;
		this.tipo = tipo;
    }

    /**
     * Sobreescritura de toString
     * @return impresion del Token
     */
    @Override
    public String toString() {
	return "Token [lexema=" + lexema + ", tipo=" + tipo +  "]";
    }

    /**
     * Sobreescritura de equals
     * @param obj objeto con el que se hace la comparación
     * @return false si los objetos no son iguales y true en caso contrario
     */
    @Override
    public boolean equals(Object obj){
        if ( obj == null ) return false;
        if ( this == obj ) return true;
        if ( ! (obj instanceof Token ) ) return false;
        Token t = (Token) obj; //Casteo a Token
        return this.lexema.equals(t.lexema) && this.tipo == t.tipo;

    }
    
}
